home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
NOVA - For the NeXT Workstation
/
NOVA - For the NeXT Workstation.iso
/
Newsletters
/
GEnieUnixNews
/
unxnl-12.92
< prev
Wrap
Text File
|
1992-12-27
|
30KB
|
802 lines
_ _ _ _ _ _
// // //| // // \// N E W S
//_// // |// // /\\ Vol 3, Issue 8 - December 1992
R o u n d T a b l e (tm)
Items of interest to participants of the GEnie Unix RoundTable
The RoundTable SysOps are:
Andy Finkenstadt....ANDY Rick Mobley.........LRARK
Gary Smith..........GARS Brian Riley.........DELPHI
Mike Nolan..........MIKE.NOLAN All Unix SysOps.....UNIX$
We strongly encourage you to contact any or all of us if you have -ANY-
comments or suggestions. This is -YOUR- RoundTable. We are here to make
your participation as pleasant and beneficial as possible.
ED: editor notes - (GARS) Gary Smith
==
In this issue you will meet another Unix RoundTable assistant who has
had a major impact on our library of late, especially with respect to
public domain kernels.
Mike McCabe and Lance Mehle greatly boosted our Soft Landing System
support for Linux. Now Mike is posting the entire disk set for 386BSD.
This means anyone with a 386, 486 computer and adequate storage, both
in RAM and Hard Disk capacity, can now acquire a complete Unix-like
operating system from the GEnie Unix RoundTable, and find online
support for the system once acquired. Not only that, but there is a
choice between two VERY robust kernels.
Our sincere thanks go to Mike for helping enhance our position as
'the Unix resource center' among online public information services.
----------
In the Spirit of the Season GARS (Gary Smith)
===========================
12days.c (an obfuscated version)
------------------- CUT HERE ------------------
#include <stdio.h>
main(t,_,a )
char
*
a;
{
return!
0<t?
t<3?
main(-79,-13,a+
main(-87,1-_,
main(-86, 0, a+1 )
+a)):
1,
t<_?
main( t+1, _, a )
:3,
main ( -94, -27+t, a )
&&t == 2 ?_
<13 ?
main ( 2, _+1, "%s %d %d\n" )
:9:16:
t<0?
t<-72?
main( _, t,
"@n'+,#'/*{}w+/w#cdnr/+,{}r/*de}+,/*{*+,/w{%+,/w#q#n+,/#{l+,/n{n+,/+#n+,/# \
;#q#n+,/+k#;*+,/'r :'d*'3,}{w+K w'K:'+}e#';dq#'l \
q#'+d'K#!/+k#;q#'r}eKK#}w'r}eKK{nl]'/#;#q#n'){)#}w'){){nl]'/+#n';d}rw' i;# \
){nl]!/n{n#'; r{#w'r nc{nl]'/#{l,+'K {rw' iK{;[{nl]'/w#q#n'wk nw' \
iwk{KK{nl]!/w{%'l##w#' i; :{nl]'/*{q#'ld;r'}{nlwb!/*de}'c \
;;{nl'-{}rw]'/+,}##'*}#nc,',#nw]'/+kd'+e}+;#'rdq#w! nr'/ ') }+}{rl#'{n' ')# \
}'+}##(!!/")
:
t<-50?
_==*a ?
putchar(31[a]):
main(-65,_,a+1)
:
main((*a == '/') + t, _, a + 1 )
:
0<t?
main ( 2, 2 , "%s")
:*a=='/'||
main(0,
main(-61,*a, "!ek;dc i@bK'(q)-[w]*%n+r3#l,{}:\nuwloca-O;m .vpbks,fxntdCeghiry")
,a+1);}
--
mitchell@mdd.comm.mot.com (Bill Mitchell)
From: profesor@bigwpi.WPI.EDU (Matthew E Cross)
Newsgroups: alt.sources
Subject: 12 days of christmas program revealed!
Date: 16 Dec 1992 04:39:45 GMT
Organization: Worcester Polytechnic Institute
Lines: 124
Distribution: world
Message-ID: <1gmbuhINNjqq@bigboote.WPI.EDU>
NNTP-Posting-Host: bigwpi.wpi.edu
I did it! I decoded an obfuscated C program!Ya-Hoo!
(amazing what one will do to avoid schoolwork :)
Anyways, here's the un-obfuscated version of the program '12.c' posted
recently (I tried to keep the 'feel' of the original program, yet make
it somewhat easy to read... I kept the original two strings that make
up the song - the phrases string and the conversion string).
(Also, there was a bug in the one posted - it printed 'On the ealeventh
day of Christmas'... To fix this, delete the space before the first
backslash in the big long yucky-looking string. It's fixed in the
un-obfuscated one below)
------------8<------ Cut here ------------8<-----------------
#include <stdio.h>
/* word #converts to:
* 0 'On the '
* -1 'first'
* -2 'second'
* -3 'third'
* -4 'fourth'
* -5 'fifth'
* -6 'sixth'
* -7 'seventh'
* -8 'eigth'
* -9 'ninth'
* -10 'tenth'
* -11 'eleventh'
* -12 'twelfth'
* -13 ' day of Christmas, my true love gave to me\n'
* -14 'twelve drummers drumming, '
* -15 'eleven pipers piping, '
* -16 'ten lords a-leaping,\n'
* -17 'nine ladies dancing, '
* -18 'eight maids a-milking, '
* -19 'seven swams a-swimming,\n'
* -20 'six geese a-laying, '
* -21 'five gold rings;\n'
* -22 'four calling birds, '
* -23 'three french hens, '
* -24 'two turtle doves\nand '
* -25 'a partridge in a pear tree.\n\n'
*/
char words[] =
"@n'+,#'/*{}w+/w#cdnr/+,{}r/*de}+,/*{*+,/w{%+,/w#q#n+,/#{l+,/n{n+,/+#n+,/#\
;#q#n+,/+k#;*+,/'r :'d*'3,}{w+K w'K:'+}e#';dq#'l \
q#'+d'K#!/+k#;q#'r}eKK#}w'r}eKK{nl]'/#;#q#n'){)#}w'){){nl]'/+#n';d}rw' i;# \
){nl]!/n{n#'; r{#w'r nc{nl]'/#{l,+'K {rw' iK{;[{nl]'/w#q#n'wk nw' \
iwk{KK{nl]!/w{%'l##w#' i; :{nl]'/*{q#'ld;r'}{nlwb!/*de}'c \
;;{nl'-{}rw]'/+,}##'*}#nc,',#nw]'/+kd'+e}+;#'rdq#w! nr'/ ') }+}{rl#'{n' ')# \
}'+}##(!!/";
char convert[] =
"!ek;dc i@bK'(q)-[w]*%n+r3#l,{}:\
\nuwloca-O;m .vpbks,fxntdCeghiry";
void
convert_and_print_word (char *pword)
{
char *pch;
while (*pword != '/')
{
pch = convert;
while (*pword != *pch)
pch++;
putchar (pch[31]);
pword++;
}
}
void
find_and_print_word (int wordno)
{
char *pch = words;
for (;wordno<0; wordno++,pch++)
{
while (*pch != '/')
pch++;
}
convert_and_print_word (pch);
}
int
do_it (int tmp, int day)
{
if (tmp < 3)
{
find_and_print_word (0);
find_and_print_word (1-day);
find_and_print_word (-13);
}
/* notice the funky recursiveness - this idea taken from obfuscated
* version :) - I thought it was cool
*/
if (tmp < day)
do_it (tmp+1, day);
find_and_print_word (tmp-27);
if (tmp == 2)
{
if (day < 13)
return do_it (2, day+1);
else
return 0;
}
}
main()
{
return do_it (2, 2);
}
--
+--------------------------------------------------------------------------+
| What's red and invisible? | profesor@wpi.wpi.edu |
| +------------------------------------+
| No tomatoes. | Make love, not War... |
----------
WHO: More Biographical Sketches of our great assistants who help make your
=== GEnie Unix RoundTable the excellent resource center it is.
Mike McCabe - Age 33, Live in Canton, Michigan (a suburb of
Detroit), work at Great Lakes Steel a division of National Steel for
5 years. Presently responsible for Level 1 (PLCs, etc...) and Level
2 (Vaxes, PCs, etc...) Technical Support as a Staff Systems Engineer
which is a Supervisory Level Technical Position. Basically this
means that I recommend what systems to buy for the plant to
implement automation projects. Largest Project includes a Re-Vamp
of an 80" Hot Strip Mill that cost around $50 Million. Previous to
Great Lakes Steel I worked for General Electric as a Field Service
Engineer in their Industrial Engineering Group. Unix experience is
only 1 year but overall experience includes 15 years of programming
experience. I speak Fortran, Pascal, C, C++, COBOL, 80x86 assembly,
Vax Macro, PDP 11 assembly, Basic and too many script languages to
mention. I have worked on everything from a TRS-80 Model 1 Level 1
to MS-DOS, Windows, VMS, MAX-32, OS9 and of course Unix.
----------
Lead Sysop Notes (ANDY) Andrew Finkenstadt
================ Chief Sysop
Greetings!
I will keep this short this month, as I'm a bit short on my Holiday
shopping and appreciate that many of us may be in the same boat.
The GEnie LiveWire Magazine has a coupon for up to a free hour (us$6) just
for visiting the Unix RoundTable. Take advantage of GEnie's generosity and
download that file you always wanted to grab. We've added over 400 files
this month, many having source code and many more adding to our repository
of Linux (free 386-clone Unix-like operating system) software. We haven't
neglected "real" unix, either. And the "FTP Request" service inaugurated
last month has been successful in increasing the store of "other" files,
too.
On behalf of the staff of the Unix RoundTable and GEnie Services I'd like
to wish you and your loved ones the very best in holiday good cheer and
celebrations.
If you drink, don't drive. If you drive, let others do the drinking. Be
safe, warm, and happy. And remember those who are less fortunate than
ourselves in a moment of quiet.
Warmest regards,
Andy Finkenstadt
Gary Smith, Mike Nolan, Brian Riley, Rick Mobley
----------
NeXT Column
===========
The Essential Drive
By Eric "E.T." Tremblay
For those of you who have a NeXT computer and still don't have your
CD-ROM drive, well you waited a little too long because NeXT had a special
promotion that ended on July 31 that made the purchase of the drive very
attractive. NeXT was selling it's CD-ROM drive at $695US (a $200US
reduction from the retail price) and was including a free upgrade to
NeXTSTEP 3.0 (a $295US value). Yes, you can still purchase a CD-ROM for
your NeXT, but it's going to cost you about $495 US more than if you had
bought it during the special promotion. If you're like me, your CD-ROM
drive is already sitting beside your computer waiting anxiously for
NeXTSTEP 3.0 to arrive. As you can see, peripherals on a NeXT computer are
priced fairly and, are not out of reach for the regular computer user.
The day I received my drive I was a little disappointed to find that the
CD-ROM drive is not a complete package. What I mean is that the drive
comes with only an empty CD-caddy and a book explaining how to install the
drive, nothing else. This means I had to order a SCSI cable and a SCSI
terminator in order to hook up the drive to my computer. Even after finding
all the missing cables I still could not test my new drive because I had no
CD-ROM disc. I expected a sample CD-ROM disc with some press releases
and product information or better yet some programs to let me try out my new
drive. Nothing! I was expecting a lot more from NeXT, to say the least.
The NeXT CD-ROM is in fact a Sony CDU-541 drive packaged in a sleek
black casing with the familiar NeXT logo. Also found on the front panel is
a plug for headphones and a headphone level control, plus a red busy
indicator and finally an eject button. As with all NeXT equipment the drive
comes with a universal power supply that can automatically adjust to the
voltages used in different countries. The specifications for the data
transfer rate is a sustained rate of 150KB/second and a burst rate of
1200KB/second.
When a CD-ROM disc is inserted into the drive an icon appears in the file
viewer giving you access to the information found on the disc. I was
pleasantly surprised by the speed at which it accesses or copies files. The
current release of NeXTSTEP 2.1 gives the drive the ability to read ISO 9660
discs which is also called the High Sierra format. A little history before we
go on, the High Sierra format gets its name from the location of the first
meeting on it: the High Sierra Hotel at Lake Tahoe. Later this format was
slightly modified and then approved by the National Information Standards
Organization (NISO) and the International Standards Organization (ISO), even
though the two specifications are slightly different. The High Sierra format
is much more commonly referred to as ISO 9660.
NeXTSTEP 3.0 will be distributed in CD-ROM format only. It is said that
the current beta release of NeXTSTEP 3.0 contains 345MB of information
leaving plenty of free space for new developers' examples and demos. The
true advantage of the CD-ROM drive will be when NeXT releases its NeXTSTEP
3.0 operating system. The really interesting feature of NeXTstep 3.0
concerning the CD-ROM drive will be its ability to recognize three new CD-
ROM formats. These are Rockridge (which is an extension of the ISO 9660
format.), the Macintosh Hierarchical File System (HFS), and a NeXT
proprietary format. The fact that NeXT supports all these formats makes the
NeXT a leader in CD-ROM technology. NeXT and Sun are the only vendors to
presently support the Rockridge format. Other vendors are expected to follow
their lead and therefor same time establish the Rockridge format as the
standard unix CD-ROM format. Let's hope that software developers will take
advantage of the NeXT's CD-ROM drive and it's multimedia capabilities to
bring us some truly amazing applications in the near future.
SoftPC MS-DOS emulation is available on the NeXT; unfortunately the
current version 2.05.5 does not support the CD-ROM drive as it should.
SoftPC can read on the drive through its File Sharing Architecture, but
that's where it ends. Having access to a directory on the CD-ROM is not
enough; what is truly needed is support for the Microsoft CD Extensions
(MS-CDEX). When this vital need is met, the NeXT will be able to read all
the CD-ROM front-ends found on most IBM-specific discs. During a telephone
conversation I had with Insignia Solutions they said that there was no
short term plans to upgrade SoftPC to support the CD-ROM drive.
Things are really starting to get rolling on the NeXT and several
companies have announced that they will sell a disc with NeXT public domain
software on it. One of them is a company called ISOMedia inc. Their disc is
called The Internet Unplugged which includes all the NeXT public domain
software and Usenet articles found on the Internet network. All of that for
an affordable $80US. Also Paget Press, the publishers of the AppWrapper
magazine, will now be distributing quarterly a CD-ROM with their magazine
and some demo programs (abandoning the printed version in favor of CD-ROM
distribution). I have already ordered the two above products but in the
meantime I'll have to be content with my other CD-ROM discs filled with
MS-DOS and MacIntosh treasures.
All in all, a CD-ROM drive is essential to the health and happiness of
your NeXT computer. I am sure that this device will be very useful in the
future;certainly it will become very important once NeXTSTEP 3.0 comes out.
CD-ROM has proven it's value on other platforms. It's the best way to
distribute large amounts of information at an affordable price. I think that
a lot of software in the future will be distributed via this media on the
NeXT. If you only need one reason to buy a CD-ROM drive, here it is:
NeXTSTEP 3.0.
----------
Down and Dirty: Quick Scripts that do something useful
==============
It was a pleasant surprise to find this neat script had been originated
by the SysAdmin of one of my favorite NixPubs, Karl at Sugar. Gary (GARS)
The script determines how much you _really_ make......
Article 5039 of alt.sources:
Path: glsdk!wolves!duke!concert!rock!stanford.edu!bcm!cs.utexas.edu!
zaphod.mps.ohio-state.edu!sdd.hp.com!caen!uunet!psinntp!sugar!karl
From: karl@NeoSoft.com (Karl Lehenbauer)
Newsgroups: comp.lang.tcl,alt.sources
Subject: countpay - see how much money you're making, with realtime update
Message-ID: <By8CCy.KF8@NeoSoft.com>
Date: 24 Nov 92 16:55:35 GMT
Organization: NeoSoft Communications Services -- (713) 684-5900
Here's a little hack that grew out of a conversation Brad Morrison
(brad@neosoft.com) and I have been having off and on for a few years,
namely, whether or not people would feel more guilty about screwing off
at work if you paid them in cash a couple of times a day.
Barring that, you can simulate it with the Tk script, countpay, below.
It shows elapsed time and how much money you've made since you started it.
You'll need Extended Tcl time and date functions. (Tcl, Tk and Extended Tcl
are available from sprite.berkeley.edu and barkley.berkeley.edu)
#
# countpay - cute hack that shows how much you're making over time to help
# you feel guilty and stop screwing off, or whatever. Requires Extended Tcl.
#
# usage: wish -f countpay dollars_per_hour
# where dollars per hour is a floating point value.
#
# It could be made to be a lot more efficient, but this way it's nice & short.
#
label .time -font "*fixed-medium-r-normal--*-200-*"
pack append . .time {bottom expand}
proc countpay {widget timeAtStart hourlyRate} {
after 1000 countpay $widget $timeAtStart $hourlyRate
set secondsElapsed [expr {[getclock] - $timeAtStart}]
set days [expr {$secondsElapsed / 86400}]
set hours [expr {($secondsElapsed % 86400) / 3600}]
set minutes [expr {($secondsElapsed % 3600) / 60}]
set seconds [expr {$secondsElapsed % 60}]
set pay [expr {($hourlyRate * $secondsElapsed) / 3600.0 + 0.005}]
.time configure -text
[format "%3d:%02d:%02d:%02d $%.2f" $days $hours $minutes $seconds $pay]
}
if !$interactiveSession {
if {[llength $argv] != 1} {
puts stderr {usage: 'countpay 50.00' to count pay at $50/hour.}
exit 1
}
countpay .time [getclock] $argv
}
--
-- Email info@NeoSoft.com for info on getting interactive Internet access.
"Turn on your hot tub by email now. Ask me how."
-----------
There has been some discussion on how to kill user processes
that have gone awry. This solution is one of the less distructive
posted to alt.sources. gary (GARS)
Path: glsdk!wolves!duke!concert!uvaarpa!caen!spool.mu.edu!
sgiblab!rtech!ingres!jonm
From: jonm@Ingres.COM (Don't Judge a book by your cover)
Newsgroups: alt.sources
Subject: Re: kill
Message-ID: <1992Dec2.121049.4122@pony.Ingres.COM>
Date: 2 Dec 92 12:10:49 GMT
References: <5810@jptcs.COM>
Organization: University of Arizona MIS Department - Mosaic Group
Lines: 173
News-Software: VAX/VMS VNEWS 1.41
In article, Steve.Kilbey%bbs@jptcs.com (Steve Kilbey) writes...
>The problem with the kill-scripts is that I work in a company where each
> department has a global login, so 10 users may be logged in under the same
>login. Obviously they have different tty's. Just wanted to bring to your
>attention that there are situations out there where that kill-script will
>not work. This is not meant to be putting your code down. I just wanted to
>state an exception. Thank you for listening.
>
I thought I might place some stuff in here that may solve your problem.
Instead of terminating someone based on their userid, their process group
is found by looking at their terminal. There are improvements that could be
made and I would like some input on this.
I would have shar'd it but its so small anyway.
/* Starts Here */
/*
* Idle user exterminator. This program will kick off a user who is
* idle for longer than a specified period of seconds.
*
* It mails the user that has just been killed. A list of users
* can be provided that can be excluded from this process. These
* reside in the file identified by EXCLUDE_FILE
*
* Author: Jon Machtynger
* Date: 28-nov-1992
*/
#include <time.h>
#include <signal.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <stdio.h>
#include <utmp.h>
#define TRUE 1
#define FALSE 0
#define TMP_FILE "/etc/utmp"
#define EXCLUDE_FILE "/etc/idle_exclude"
long num_of_seconds;
struct utmp u;
long t;
main(argc, argv)
int argc;
char *argv[];
{
FILE *fp;
struct stat ttystat;
char ttyname[100];
char tmp[100];
if (argc < 2) /* First check argument usage */
{
fprintf(stderr, "Usage: %s <num of seconds>\n", argv[0]);
exit (1);
}
num_of_seconds=atoi(argv[1]);
if (num_of_seconds <= 0)
{
fprintf(stderr, "Enter a positive integer for the seconds\n");
exit (1);
}
if ((fp = fopen(TMP_FILE, "r")) == NULL) /* Get utmp info */
{
fprintf(stderr, "%s: Unable to open user file '%s'\n", TMP_FILE);
exit(1);
}
time(&t); /* Get current time */
while (!feof(fp)) /* For each user that is logged in */
{
fread(&u, sizeof(u), 1, fp);
if (u.ut_name[0] == '\0')
continue;
sprintf(ttyname, "/dev/%s", u.ut_line); /* Get line name */
if (stat(ttyname, &ttystat) >= 0) { /* Stat the line */
if ((t - ttystat.st_mtime) > num_of_seconds &&
(exclude_user(u.ut_name) != TRUE))
{
sprintf(tmp, "Problem killing process belonging to user %s",
u.ut_name);
if (kill(get_process_group(u.ut_line), SIGKILL) < 0)
perror(tmp);
else
mail_user();
}
}
}
fclose(fp);
}
/*
* Currently this uses does a ps to find a pid of something running
* on the terminal requested. This should be improved to use proc.h
*/
int get_process_group(ttyname)
char *ttyname;
{
int pid;
char cmd[200];
FILE *p;
sprintf(cmd, "ps -t%s | grep -v PID", ttyname); /* Format command */
if ((p = popen(cmd, "r")) == NULL)
{
fprintf(stderr, "Unable to open pipe for cmd '%s'\n", cmd);
return -1;
}
fscanf(p, "%d", &pid); /* Get any PID on that terminal */
if (pid <= 0)
return -1;
return getpgrp(pid);
}
/* Determines whether to exclude a user from death */
int exclude_user(uname)
char *uname;
{
FILE *fp;
char excluded_user[1000];
if ((fp = fopen(EXCLUDE_FILE, "r")) == NULL) /* Unreadable or missing */
return FALSE;
while (!feof(fp))
{
fscanf(fp, "%[^\n]\n", excluded_user);
if (excluded_user[0] != '#') /* Comment line */
if (!strcmp(uname, excluded_user))
return TRUE;
}
return FALSE;
}
mail_user()
{
char tmp[200];
char msg[200];
sprintf(msg, "(%s on %s) %s\n", u.ut_name, u.ut_line, ctime(&t));
sprintf(tmp, "You had an idle time of longer than %d seconds",
num_of_seconds);
strcat(msg, tmp);
sprintf(tmp, "echo '%s'| mail %s", msg, u.ut_name);
system(tmp);
}
/*
* End here...
*/
____________________________________________________________________________
The reasonable man adapts himself to the world;the unreasonable one persists
in trying to adapt the world to himself. Therefore all progress depends on
the unreasonable man.
-- George Bernard Shaw
________________.
Jon Machtynger | Ahhh Brisbane, center of the world. How I miss a Silvio's
jonm@ingres.com | Pizza A Jug of Powers and a good puke in the Mall.
________________|
Upload contest winners for November (ANDY)
===================================
Congratulations to Lance Mehle for the month of November as he
qualified as winner of both our free days for his new uploads.
Good work! Andy
usr/local: Items (scripts and news) snarfed from various sources
=========
listdirs() Directory Lister Mike McCabe (MIKE.MCCABE)
#
# File to list recursively all directorys including links.
#
ldirs ()
{
#
# Declare a new level for this instance of the call
#
level=`expr $2 + 1`
#
# Change to the directory found in the last call
#
cd $1
#
# For all files in this directory check for directories
#
for name in *
do
#
# If this file is a directory then
#
if [ -d $name ]
then
#
# Calculate the appropriate screen level for tabbing
#
i=`expr $level - 2`
#
# If screen needs to be tabbed (i.e. level >= 3) then
#
if [ $i -ge 0 ]
then
#
# While level is above tab range tab
#
while [ $i -ge 1 ]
do
echo -ne '\t'
i=`expr $i - 1`
done
#
# Finish by drawing a line to represent subdir
#
echo -ne '+-------'
fi
#
# Echo the name of the directory to stdout
#
echo $name
#
# Recurse into the routine again to check the
# directory for directories.
#
ldirs $name $level
fi
done
#
# Make sure we switch back to the directory we started from
#
cd ..
#
# Set the level back...
#
level=`expr $level - 1`
#
# and return
#
return
}
#
# Initial Level is Zero
#
level=0
#
# Start the ball rolling with the first call giving current dir and level
#
ldirs $PWD $level
Tutorials
=========
CD-ROM multi-session versus non-multi-session
---------------------------------------------
In article <Bz0LJw.HB0@news.cso.uiuc.edu> peltz@cerl.uiuc.edu (Steve Peltz)
writes:
- What is it that a non-multi-session drive can't do that makes it unable
- to read past the first session of a multi-session disk? Why can't it be
- read just by using a different driver in the computer?
-
- I have read the description of the different recording formats on a disk,
- although I'm not fluent. But I haven't seen a description of how a multi-
- session disk is different.
- --
- Steve Peltz
- Internet: peltz@cerl.uiuc.edu PLATO/NovaNET: peltz/s/cerl
A cd has a table of contents in a pre determined location. Multi session
cd's have multiple TOC's. The non-multi-session drive can't locate the other
TOC's because it assumes that the cd will have 1 TOC and that the TOC can be
found in a pre-determined location.
The following better description is from the CDRom FAQ
==========================================================================
36. What is a multisession CD drive?
A CD has an "index" area which contains track details; this is what is
read when you first stick an audio CD into a player. Photo-CDs have a
separate index area each time they are written (because it is impossible
to "update" the index area). A multisession drive is one that knows to
look for multiple index areas. The full details are contained in the
Philips/Sony/Kodak "Orange Book" standard for writable CDs.
The issues of CD-WO and how multsessions are recorded are addressed in the
European Computer Manufacture Association (ECMA) new standard ECMA 168,
which became a standard in June of this year. The title of the standard is
"Volume and File Structure of Read-Only and Write-Once Compact Disc Media
for Information Interchange". This standard expands upon the ISO-9660
CD-ROM standard.
==========================================================================
this is a bit off the topic of this group, but it is usefull information
so I thought i'd post it.
Zeke
--
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
=+ += Eschew Obfuscation Next Mail Welcome =+ +=
+= =+ James "Zeke" Dehnert zeke@znext.cts.com += =+
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
---------------
REMINDER - This newsletter is being sent to you 'by request'. If you do
not wish to keep receiving it, e-mail a stop notice to GARS. On the other
hand, we would very much appreciate it if you would pass the word that we
do distribute this item near the tenth (10th) of the month of issue to any-
one on GEnie who requests it.
P L E A S E also remember contributions are most welcome. Please e-mail
items and/or suggestions to GARS.
(EOF)
Trademark and Copyright notices:
Unix is a Trademark of UNIX System Laboratories, Inc.; GEnie, LiveWire, and
RoundTable are Trademarks of General Electric Information Services Company;
Xenix and ms-dos are Trademarks of Microsoft Corporation; NeXT NeXTstation
and NeXTstep are Trademarks of NeXT Computer Systems, Inc., Coherent is a
Trademark of Mark Williams Company, Sun, SPARC, SunOS are Trademarks of Sun
Microsystems, Inc., SCO is a Trademark of Santa Cruz Operations.
The contents of this newsletter are copyright(c) 1992 and may be copied whole
or in part only if original credit is included. The GEnie UNIX RoundTable is
not affiliated with AT&T or UNIX System Laboratories, Inc.